字典和集合
1. 字典 (Dictionary)
1.1 什么是字典?
字典是Python中的一种数据结构,用于存储键值对(key-value pairs)。每个键(key)都与一个值(value)相关联,键是唯一的,而值可以是任何数据类型。字典是无序的,这意味着字典中的元素没有特定的顺序。
1.2 创建字典
你可以使用花括号 {} 来创建一个字典,或者使用 dict() 函数。
# 使用花括号创建字典
student = {
"name": "Alice",
"age": 20,
"major": "Computer Science"
}
# 使用 dict() 函数创建字典
student = dict(name="Alice", age=20, major="Computer Science")
1.3 访问字典中的值
你可以通过键来访问字典中的值。
print(student["name"]) # 输出: Alice
print(student["age"]) # 输出: 20
1.4 修改字典
你可以通过键来修改字典中的值,或者添加新的键值对。
student["age"] = 21 # 修改年龄
student["year"] = 3 # 添加新的键值对
1.5 删除键值对
你可以使用 del 关键字来删除字典中的键值对。
del student["year"]
1.6 字典方法
Python提供了许多有用的字典方法,例如 keys()、values()、items() 等。
print(student.keys()) # 输出: dict_keys(['name', 'age', 'major'])
print(student.values()) # 输出: dict_values(['Alice', 21, 'Computer Science'])
print(student.items()) # 输出: dict_items([('name', 'Alice'), ('age', 21), ('major', 'Computer Science')])
2. 集合 (Set)
2.1 什么是集合?
集合是Python中的一种数据结构,用于存储无序且不重复的元素。集合中的元素必须是不可变的(例如数字、字符串、元组),但集合本身是可变的。
2.2 创建集合
你可以使用花括号 {} 来创建一个集合,或者使用 set() 函数。
# 使用花括号创建集合
fruits = {"apple", "banana", "cherry"}
# 使用 set() 函数创建集合
fruits = set(["apple", "banana", "cherry"])
2.3 添加和删除元素
你可以使用 add() 方法来添加元素,使用 remove() 方法来删除元素。
fruits.add("orange")
fruits.remove("banana")
2.4 集合运算
集合支持常见的集合运算,如并集、交集、差集等。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# 并集
print(set1 | set2) # 输出: {1, 2, 3, 4, 5, 6}
# 交集
print(set1 & set2) # 输出: {3, 4}
# 差集
print(set1 - set2) # 输出: {1, 2}
3. 实践练习
3.1 练习1:字典操作
创建一个字典来存储学生的成绩,键为科目,值为分数。然后,计算并输出学生的平均成绩。
grades = {
"math": 85,
"science": 90,
"history": 78
}
# 计算平均成绩
average_grade = sum(grades.values()) / len(grades)
print(f"平均成绩: {average_grade}")
3.2 练习2:集合操作
创建两个集合,分别存储两个班级的学生名单。然后,找出两个班级的共同学生,并输出结果。
class1 = {"Alice", "Bob", "Charlie"}
class2 = {"Charlie", "David", "Eve"}
# 找出共同学生
common_students = class1 & class2
print(f"共同学生: {common_students}")
4. 总结
字典和集合是Python中非常强大的数据结构,它们分别用于存储键值对和无序不重复的元素。通过本教程,你应该已经掌握了如何创建、访问、修改和操作字典和集合。继续练习和探索,你将能够更熟练地使用这些数据结构来解决实际问题。